#ifndef SETWIG_H
#define SETWIG_H

#include <QWidget>
#include "qcustomplot.h"
#include "mqtt/qmqtt.h"
#include "globalval.h"
#include "QTime"
#include "modbuswig.h"
#include <QRegExp>
#include <QDebug>
#include <QJsonDocument>
#include <QJsonArray>
#include <QJsonObject>
#include <QTimer>  // 添加QTimer头文件

namespace Ui {
class SetWig;
}

class SetWig : public QWidget
{
    Q_OBJECT

public:
    explicit SetWig(QWidget *parent = 0);
    ~SetWig();
    // 设置qcustomplot画图属性，实时
    void setupRealtimeDataDemo(QCustomPlot *customPlot);

private slots:
    void parseJsonData(QByteArray jsonData);
    void on_pushButton_clicked();
    // 处理复选框状态变化
    void onCheckBoxToggled(bool checked);
    void temHistoryDownSlot(QString key, QString topic, QString startTime, QString endTime);

private:
    Ui::SetWig *ui;
    // 定时器，周期调用realtimeDataSlot()槽，实现动态数据添加到曲线
    QTimer dataTimer;

    // 数据存储容器
    QVector<double> tempXData, tempYData;
    QVector<double> humXData, humYData;

    // 更新图表数据
    void updatePlotWithJsonData();
    // 处理数据数组的通用函数
    void processDataArray(const QJsonArray &dataArray, QVector<double> &xData, QVector<double> &yData);
};

#endif // SETWIG_H
